# language: en
# Source: http://github.com/aslakhellesoy/cucumber/blob/master/examples/i18n/en/features/addition.feature

Feature: Registrar un compromiso y asociarlo a una reunion
  In order to register a commitment and attach it to a meeting
  As a magister student
  I want to organize my thesis development

  Scenario Outline: Registrar correctamente un compromiso
    Given hay una reunion en la base de datos con nombre <nombreReunion> y fecha <anioReunion> <mesReunion> <diaReunion>
    Given estoy en la pagina de registro de compromisos
    When el nombre del compromiso es <nombreCompromiso>
    And la fecha del compromiso es <fechaCompromiso>
    And la descripcion del compromiso es <descripcion>
    And la reunion donde sera revisado el compromsio es <nombreReunion> con fecha <anioReunion> <mesReunion> <diaReunion>
    And presiono el boton <boton>
    Then debe verse la pantalla con lo siguiente <resultado>
    And la base de datos debe contener el compromiso con nombre <nombreCompromiso>

  Examples:
    |    nombreReunion  |    anioReunion    |  mesReunion   |   diaReunion      |    nombreCompromiso    |       fechaCompromiso     |    descripcion    |       boton          |                resultado                       |
    |   "reunion1"      |    "2014"         |    "2"        |      "15"         |    "compromiso1"       |   "2014-01-31 03:00 PM"   | "Descripcion"     | "Crear Compromiso"   |   "Se registro correctamente el Compromiso"    |

   Scenario Outline: Evitar que un compromiso tenga valores nulos
    Given hay una reunion en la base de datos con nombre <nombreReunion> y fecha <anioReunion> <mesReunion> <diaReunion>
    Given estoy en la pagina de registro de compromisos
    When el nombre del compromiso es <nombreCompromiso>
    And la fecha del compromiso es <fechaCompromiso>
    And la descripcion del compromiso es <descripcion>
    And la reunion donde sera revisado el compromsio es <nombreReunion> con fecha <anioReunion> <mesReunion> <diaReunion>
    And presiono el boton <boton>
    Then debe verse la pantalla con lo siguiente <resultado>
    And la base de datos no debe contener el compromiso con nombre <nombreCompromiso>

  Examples:
    |    nombreReunion  |    anioReunion    |  mesReunion   |   diaReunion      |    nombreCompromiso   |       fechaCompromiso     |    descripcion    |       boton          |         resultado         |
    |   "reunion1"      |    "2014"         |    "2"        |      "15"         |    ""                 |   "2014-01-31 03:00 PM"   | "Descripcion"     | "Crear Compromiso"   |   "Campos Incompletos"    |
    |   "reunion1"      |    "2014"         |    "2"        |      "15"         |    "Compromiso1"      |   ""                      | "Descripcion"     | "Crear Compromiso"   |   "Campos Incompletos"    |
    |   "reunion1"      |    "2014"         |    "2"        |      "15"         |    ""                 |   "2014-01-31 03:00 PM"   | ""                | "Crear Compromiso"   |   "Campos Incompletos"    |
    
   Scenario Outline: Evitar que se ingrese un compromiso con fechas del pasado
    Given hay una reunion en la base de datos con nombre <nombreReunion> y fecha <anioReunion> <mesReunion> <diaReunion>
    Given estoy en la pagina de registro de compromisos
    When el nombre del compromiso es <nombreCompromiso>
    And la fecha del compromiso es <fechaCompromiso>
    And la descripcion del compromiso es <descripcion>
    And la reunion donde sera revisado el compromsio es <nombreReunion> con fecha <anioReunion> <mesReunion> <diaReunion>
    And presiono el boton <boton>
    Then debe verse la pantalla con lo siguiente <resultado>
    And la base de datos no debe contener el compromiso con nombre <nombreCompromiso>

  Examples:
    |    nombreReunion  |    anioReunion    |  mesReunion   |   diaReunion      |    nombreCompromiso    |       fechaCompromiso     |    descripcion    |       boton          |                resultado                              |
    |   "reunion1"      |    "2014"         |    "2"        |      "15"         |    "compromiso1"       |   "2012-01-31 03:00 PM"   | "Descripcion"     | "Crear Compromiso"   |   "La fecha de pacto del compromiso debe ser futura"  |
    
   Scenario Outline: Evitar que se asignen compromisos a reuniones pasadas
    Given hay una reunion en la base de datos con nombre <nombreReunion> y fecha <anioReunion> <mesReunion> <diaReunion>
    Given estoy en la pagina de registro de compromisos
    Then debe verse la pantalla con lo siguiente <resultado>

  Examples:
    |    nombreReunion  |    anioReunion    |  mesReunion   |   diaReunion      |                          resultado                                |
    |   "reunion1"      |    "2012"         |    "2"        |      "15"         |  "No existen reuniones futoras para revisar un nuevo compromiso"  |